package fr.eisti.ing1.projetgsiKlelifaRazavet.Objets;

/**
 * La classe Centre D'interet
 * @author Klelifa Sarah, Razavet Maël
 * @version 1.0
 */
public class CentreInteret {
    private int idCentreInteret;
    private String categorie;
    private String nomCentreInteret;
    private int idPersonne;

    /**
     * Constructeur sans ID
     * @param categorie
     * @param nomCentreInteret
     */
    public CentreInteret(String categorie, String nomCentreInteret) {
        this.idCentreInteret = -1;
        this.idPersonne = -1;
        this.categorie = categorie;
        this.nomCentreInteret = nomCentreInteret;
    }

    /**
     * Constructeur avec ID
     * @param idCentreInteret
     * @param idPersonne
     * @param categorie
     * @param nomCentreInteret
     */
    public CentreInteret(int idCentreInteret, int idPersonne, String categorie, String nomCentreInteret) {
        this.idCentreInteret = idCentreInteret;
        this.categorie = categorie;
        this.nomCentreInteret = nomCentreInteret;
        this.idPersonne = idPersonne;
    }


    /**
     * Récupère la catégorie d'un centre d'interet
     * @return categorie : la catégorie d'un centre d'interet
     */
    public String getCategorie() {
        return categorie;
    }

    /**
     * Récupère l'id d'un centre d'interet
     * @return idCentreInteret : l'id d'un centre d'interet
     */
    public int getIdCentreInteret() {
        return idCentreInteret;
    }

    /**
     * Récupère le nom d'un centre d'interet
     * @return nomCentreInteret : le nom d'un centre d'interet
     */
    public String getNomCentreInteret() {
        return nomCentreInteret;
    }

    /**
     * Récupère l'id d'une personne lié au centre d'interet
     * @return idPersonne : l'id d'une personne
     */
    public int getIdPersonne() {
        return idPersonne;
    }

    @Override
    public String toString() {
        return categorie+" nom : "+nomCentreInteret;
    }

    @Override
    public int hashCode(){
        //id unique donc code unique
        return this.idCentreInteret;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        CentreInteret other = (CentreInteret) obj;
        //on ne test que les id car ils sont unique
        return this.idCentreInteret == other.idCentreInteret;
    }

}
